A Case Study for Program Refactoring
نویسندگان
چکیده
This paper proposes a case for the GraBaTs’08 tool contest. The graph transformation system to be implemented shall (i) import a graph-based representation of models of Java programs in a Gxl-based format, (ii) allow these models to be transformed interactively with three well-known program refactorings Encapsulate Field, Move Method, and Pull-up Method, and (iii) export the resulting models in the same Gxlformat. The case aims to enable comparison of various features of graph transformation tools, such as their expressiveness and their ability to interact with the user.
منابع مشابه
A Case Study in Refactoring Functional Programs
Refactoring is the process of redesigning existing code without changing its functionality. Refactoring has recently come to prominence in the OO community. In this paper we explore the prospects for refactoring functional programs. Our paper centres on the case study of refactoring a 400 line Haskell program written by one of our students. The case study illustrates the type and variety of pro...
متن کاملOrganizational Circumstances for Large-scale Refactoring in Open Source Software (OSS) production
As software projects evolve over time, source code inherently becomes more complicated and tend to drift away from its original structure envisaged by the project founder. Uncontrolled software complexity makes it difficult to comprehend, modify code, and maintain sustainable level of OSS developers. Faced with challenges of increasingly complicated software design, software refactoring can be ...
متن کاملFormal Model-Driven Program Refactoring
Evolutionary tasks, specially refactoring, affect source code and object models, hindering correctness and conformance. Due to the gap between object models and programs, refactoring tasks get duplicated in commonly-used model-driven development approaches, such as Round-Trip Engineering. In this paper, we propose a formal approach to consistently refactor systems in a model-driven manner. Each...
متن کاملObject-oriented Refactoring of Java Programs using Graph Transformation
In this case study for the transformation tool contest (TTC), we propose to implement object-oriented program refactorings using transformation techniques. The case study proposes two major challenges to be solved by solution candidates: (1) bi-directional synchronization between source/target program source code and abstract program representations, and (2) program transformation rules for pro...
متن کاملUsing CafeOBJ to Mechanise Refactoring Proofs and Application
In this paper we show how rewriting systems, in particular CafeOBJ, can be used to automatically prove refactoring rules. In addition, a small case study that illustrates the application of a refactoring rule in an arbitrary program is also developed. Our approach is based on a sequential object-oriented language of refinement (ROOL) similar to Java. We have implemented the ROOL grammar in Cafe...
متن کاملA Solution to the Java Refactoring Case Study using eMoflon
Our solution to the Java Refactoring case study of the Transformation Tool Contest (TTC 2015) is implemented using eMoflon, a meta-modeling and model transformation tool developed at the Real-Time Systems Lab at TU Darmstadt. The solution, available as a virtual machine hosted on SHARE [5] and at GitHub [6], includes a bidirectional synchronization between a Java model and an abstract program g...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008